#include <iostream>
#include <functional>

int main()
{
    // 用 std::function 包装，让 lambda 自己调用自己
    std::function<void(int)> print123;
    print123 = [&](int n)
    {
        std::cout << n << '\n';
        if (n < 3)
            print123(n + 1); // 递归点
    };

    print123(1); 
}